/*
 * 项目名称:    wms-server-jeecg
 * 创建人员:    FanZhiwen
 * 创建时间:    2023-11-22
 */
package org.jeecg.modules.dock.entity.nest;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 条料调拨请求实体
 *
 * @author FanZhiwen
 * @version 1.0.0
 * @since 2023-11-22
 */
@Data
@ApiModel(value = "套裁-WMS发送条料调拨请求", description = "套裁-WMS发送条料调拨请求")
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class StripTransferReceiveVO extends NestBaseReceiveVO {
    @NotNull
    @NotBlank
    @ApiModelProperty("调出仓库")
    //1.一二期到四期：300#库
    //2.四期到一二期：根据即时库存找仓库
    private String warehouseOutCode;

    @NotNull
    @NotBlank
    @ApiModelProperty("调入仓库")
    //1.一二期到四期：物料编码对应的仓库
    //2.四期到一二期：300#库
    private String warehouseInCode;

    @ApiModelProperty("明细")
    private List<Detail> detail;

    /**
     * 明细
     */
    @Data
    public static class Detail implements Serializable {

        @NotBlank
        @NotNull
        @ApiModelProperty("批次号")
        private String batchCode;

        @NotNull
        @ApiModelProperty("宽度")
        private BigDecimal width;

        @NotNull
        @ApiModelProperty("外径")
        private Integer diameter;

        @NotNull
        @ApiModelProperty("重量")
        private Integer weight;

        @ApiModelProperty("计划生产工单号")
        //计划横剪的生产订单号
        private String orderCode;

        @ApiModelProperty("计划站点编号")
        //计划横剪的站点编号
        private String planSite;

        @NotBlank
        @NotNull
        @ApiModelProperty("母卷号")
        private String masterCode;

        @NotBlank
        @NotNull
        @ApiModelProperty("母卷物料编码")
        private String masterMaterialCode;

        @ApiModelProperty("是否同母卷号最后一卷: Y是N否")
        private String lastMasterCode;

        @ApiModelProperty("备注")
        //SAP的生产订单号：10.一二期到四期（214...）；20.四期到一二期（241...）
        private String remark;


    }
}
